// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "WorldEntityAxis.h"
#include "WorldEntityManager.h"

#include <list>
#include <memory>
#include <string>

#ifdef BUILD_ROAD_ENGINE

  #if defined(_MSC_VER)
    #define ROAD_ENGINE_API __declspec(dllexport)
  #elif defined(__GNUC__)
    #define ROAD_ENGINE_API __attribute__((visibility("default")))
  #else
    #pragma warning Unknown platform
  #endif

#else

  #define ROAD_ENGINE_API

#endif

struct FODWorldData
{
	FWorldEntityAxis				EntityAxis;
	FWorldEntityManager				EntityManager;
	std::vector<FWorldRoad::Ptr>	CachedRoads;
};


ROAD_ENGINE_API std::unique_ptr<FODWorldData> ImportODWorld(const std::string& content);